[レポート]クラウドにおける突発的な負荷の急上昇に対するNetflixの対処方法 #NFX301

[レポート]クラウドにおける突発的な負荷の急上昇に対するNetflixの対処方法 #NFX301

私にとって、Netflixは日々の娯楽で無くてはならないサービスです。 Netflixは日本だけでなく、世界中でサービスを展開し、視聴者数は6億人!いるとのことです。 そんな巨大サービスであるNetflixがどのように急激な負荷に対応しているかのセッションを聴講したのでレポートします。
Clock Icon2024.12.06

こんにちは。
リテールアプリ共創部のmogiです。

普段の業務ではクラスメソッドダナンやパートナー企業と共にアプリやWEB開発を行っており、プロジェクトマネージャーやスクラムマスターを担当しています。

今回、初めてre:Inventに参加させてもらっています。

映画が大好きなので、普段からNetflixはよく利用しています。
以前は、映画館に行ったりDVDのレンタルサービスを利用していましたが、Netflixが普及した今では全く利用しなくなってしまいました。
世界中でサービスを展開し、多くのユーザを抱えるNetflixが急激な負荷にどのように対応しているのか興味があったのでセッションを聴講しました。

Netflixとは

Netflixは、主にオンデマンドのビデオストリーミングサービスを提供するプラットフォームです。スマートフォン、タブレット、コンピューター、ゲーム機、スマートTVなど、様々なデバイスで利用捨ことが出来ます。また、Netflixは、映画、オリジナルシリーズ、ドキュメンタリー、アニメ、ライブイベントなど、幅広いジャンルのコンテンツを提供しています。特に、独自に制作されたオリジナル作品は、多くのステークホルダーが関わるテレビや商業映画では製作出来ない内容を題材にしており大変人気があります。

セッション内容紹介(公式)

スピーカー

  • Rob Gulewich
    Principal Software Engineer, Netflix

  • Ryan Schroeder
    Senior Software Engineer, Netflix

  • Joey Lynch
    Principal Software Engineer, Netflix

  • Manju Prasad
    Sr Solutions Architect, Amazon

内容

2023年の「ミス・ノーベンバー」では史上最高の同時接続数6,500万を記録し、クリスマスのNFLのハーフタイムでは、ビヨンセが登場したりと巨大イベントによるトラフィックの急増が喫緊の課題となっています。

Netflixが今後さらにサービスを拡大していくためには、急激な負荷スパイクから迅速に回復したり、より大きなタイトルの発売に対応するため、グローバルな視聴者に対応できるよう、サービスの回復時間を短縮し、常に高パフォーマンスを維持するなどビジネス上の要求に応え続けなければなりません。

このセッションではNetflixが、AWS上でのオートスケーリング、CloudWatchの高解像度メトリクス、オンデマンドコンピューティングなどの機能を活用して、どのようにクラウド上での突発的な負荷スパイクにどのように対処しているかが説明されました。

具体的には、3人のNetflixのソフトウェアエンジニアにより、トラフィックパターンを予測し、事前にスケーリングを行うことで、トラフィックの急増に対応したり、また、アクティブ・アクティブ・アーキテクチャを採用し、リージョン障害に対応していることや、成功バッファと障害バッファを用いて、システムの健全性を維持していることが説明されました。

アジェンダ

  1. Problem:Load spikes
  2. Solution:Predict and plan
  3. Solution:React quickly
  4. Solution:Stay available
  5. Experiment:Test resillience
  6. Conclusions and wrap ap

スピーカー
IMG_3915

4つのリージョンを利用
CAP_E57B4E2B-4D7F-419B-9C5D-D88B252A8BDD

事前に予測と計画を立てる
CAP_7C28D2E1-E60E-43AC-8C94-01905BB1202D

急激なスパイク時にはフォールバック&シフト
IMG_3983

回復までの時間を短くし、耐障害性を強化することがゴール
IMG_3991

まとめ
IMG_3992

感想

Netflixという巨大なサービスがユーザに安定的にサービスを提供するためには、障害に対する戦略と様々なAWSの技術が用いられていることが分かりました。
私も担当しているプロジェクトで、予想もしないアクセス数により障害が発生してしまうことがあります。
今回のセッションを参考に、障害に強いアーキテクチャとは何か意識していきたいと思いました。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.